热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

攻击者|受害者_AttacksonTCP/IPProtocols(Task3)SYNFloodingAttack

篇首语:本文由编程笔记#小编为大家整理,主要介绍了AttacksonTCP/IPProtocols(Task3)SYNFloodingAttack相关的知识,希望对你有一定的参考价

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack相关的知识,希望对你有一定的参考价值。


Task3: SYN Flooding Attack  

①SYN泛洪攻击工作原理

SYN泛洪是一种DoS攻击的形式,攻击者向受害者的TCP端口发送许多SYN请求,但是这些攻击者并无意完成3次握手的过程,攻击者使用虚假的IP地址或不继续该过程。通过这种攻击,攻击者可以淹没受害者的这些被用于 半开放式连接 的队列,即,连接已经完成SYN,SYN-ACK,但没有完成最后的ACK。当这个队列已满时,受害者不能再完成任何连接。下图(Figure 1)说明了攻击。






注:实验过程中遇到的问题或者必要知识点的储备如下

(1)必要的命令

检查系统队列大小设置:

# sysctl -q net.ipv4.tcp_max_syn_backlog

检查队列的使用情况:

# netstat -na | grep tcp

禁止/启用SYN COOKIE:

# sysctl -w net.ipv4.tcp_synCOOKIEs=0
# sysctl -w net.ipv4.tcp_synCOOKIEs=1
(2)
SYN COOKIE工作原理

SYN COOKIE是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。其原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个COOKIE值。在收到TCP ACK包时,TCP服务器再根据那个COOKIE值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。

(3)如何构造SYN报文

使用netwox 76号指令。

netwox 76 --dst-ip 192.168.175.140 --dst-port 80
netwox 76 --dst-ip 192.168.175.140 --dst-port 23
上面两条指令,攻击者使用随机的虚假IP分别向victim(192.168.175.140)的80端口和23端口发送大量SYN请求。

过程演示

attackers    :Machine1(192.168.175.139)

victim   :Machine2(192.168.175.140)

observer    :Machine3(192.168.175.141)

(1)攻击前 victim 用于 半开放式连接 队列的使用情况


(2)victim禁止SYN COOKIE


(3)attack向victim的23端口发送大量SYN请求。(Telnet服务默认端口号:23)




(4)攻击后 victim 用于 半开放式连接 队列的使用情况


(5)observer使用telnet命令请求远程登录victim,登陆失败


(6)在victim开启SYN COOKIE的情况下,SYN Flood攻击无效。

具体原因,在前面的SYN COOKIE工作原理可解释。



推荐阅读
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 深入浅出解析HTTP协议的核心功能与应用
    前言——协议是指预先设定的通信规则,确保双方能够按照既定标准进行有效沟通,从而实现准确的信息交换。例如,驯兽师通过拍手使动物坐下,这实际上是一种预设的协议。本文将详细探讨HTTP协议的核心功能及其广泛应用,解析其在现代网络通信中的重要作用。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 在重新安装Ubuntu并配置Django和PyCharm后,忘记测试MySQL连接,导致在后续配置过程中遇到错误:ERROR 2003 (HY000) - 无法连接到本地服务器 ‘127.0.0.1’ (111)。本文将详细介绍该错误的原因及解决步骤,帮助用户快速恢复MySQL服务的正常运行。我们将从检查网络配置、验证MySQL服务状态、配置防火墙规则等方面入手,提供全面的故障排除指南。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 优化后的标题:利用YUM高效安装与管理MySQL数据库环境 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • Spring 中获取 Request 的多种方式及其线程安全性的深入解析
    本文深入探讨了在Spring MVC框架下获取HTTP请求对象的多种方法,详细分析了每种方法的实现原理及其线程安全性,为开发者提供了全面的技术参考。 ... [详细]
  • 本文将详细介绍如何利用JMeter高效执行API接口测试,涵盖JMeter的基础介绍、安装方法、中文环境配置、主要元件及其作用域和执行顺序等内容,并分享一系列实用的测试技巧,帮助读者全面掌握JMeter接口测试的全过程。 ... [详细]
  • 如何尽量处理TIMEWAIT过多?
    如何尽量处理TIMEWAIT过多?编辑内核文件etcsysctl.conf,加入以下内容:net.ipv4.tcp_syncookies1表示开启SYNCookies。当出现SYN ... [详细]
  • 今天刚上班就听到群里的几位大佬在讨论所开发的系统需要重复的登录的恶心之处,听各位大佬争辩的同时,想到了自己以前整理过的缓存技术,算是比较全面的,当然了只是帮助自己理解的,但是很明显我并没有记在脑子里, ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 在进行前端JavaScript国际化(i18n)的过程中,为了从cookie中获取语言信息并动态加载相应资源,我决定将语言检测逻辑和i18n初始化代码直接嵌入到index页面中,使用了Velocity模板引擎的语法。这种方法不仅简化了代码结构,还提高了语言切换的灵活性和响应速度。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有